#ifndef _USER_TASK_H
#define _USER_TASK_H

enum user_event_t {
    USER_EVT_AT_COMMAND,
    USER_EVT_BUTTON,
    USER_EVT_SEND_RAW_DATA,
    USER_EVT_AUDIO_PLAY_I2S_TRIG,
    USER_EVT_REQ_RAW_DATA,
    USER_EVT_SEND_FOLLOWING_DSP_CODE,//5

    USER_EVT_DSP_OPENED,
    USER_EVT_DSP_CLOSED,
    USER_EVT_BT_EXIT_SNIFF,
    USER_EVT_A2DP_STREAM_STARTED,
    USER_EVT_A2DP_STREAM_SUSPENDED,//10
    USER_EVT_NEW_SBC_FRAME,
    USER_EVT_DECODER_PREPARE_NEXT_DONE,
    USER_EVT_DECODER_NEED_DATA,
    USER_EVT_RAW_DATA_TO_DSP_SENT,

    USER_EVT_HFP_INCOMING_CALL,//15
    USER_EVT_HFP_OUTGOING_CALL,
    USER_EVT_HFP_AUDIO_CONNECTED,
    USER_EVT_HFP_AUDIO_DISCONNECTED,
    USER_EVT_MIC_ONLY_START,
    USER_EVT_MIC_ONLY_STOP,//20
    USER_EVT_NATIVE_PLAYBACK_START,
    USER_EVT_NATIVE_PLAYBACK_STOP,
    USER_EVT_NATIVE_PLAYBACK_NEXT,
    USER_EVT_NATIVE_PLAYBACK_PREV,
    USER_EVT_MIC_LOOP_START,//25
    USER_EVT_MIC_LOOP_STOP,
    USER_EVT_CONN_DISCONNECTED,

    USER_EVT_UART_TX_READY,
    USER_EVT_UART_TX_CMP,
    
    USER_EVT_5088_COMM,
};

extern uint16_t user_task_id;

void user_task_init(void);

#endif  // _USER_TASK_H

